package org.example;
import java.io.Console;

public abstract class Main {
    // 读取和保存文件的路径都设置为 "C:/Users/姚明达/Desktop/123.txt"
    static String readFilePath = "C:/Users/姚明达/Desktop/123/untitled1/src/main/java/org/example/123.txt";
    static String saveFilePath = "C:/Users/姚明达/Desktop/123/untitled1/src/main/java/org/example/123.txt";
    public static void main(String[] args) {
        Console console = System.console();
        if (console == null) {
            System.err.println("无法获取控制台实例，无法输入密码。");
            return;
        }

        String inputPassword = null;
        boolean passwordCorrect = false;

        // 循环提示用户输入密码，直到输入正确为止
        while (!passwordCorrect) {
            // 提示用户输入密码
            System.out.println("请输入密码:");
            char[] passwordChars = console.readPassword("");

            // 将字符数组转换为字符串
            inputPassword = new String(passwordChars);

            // 设置正确的密码
            final String correctPassword = "MDY";

            // 检查输入的密码是否正确
            if (correctPassword.equals(inputPassword)) {
                passwordCorrect = true;
                System.out.println("密码正确，程序继续运行。");
                // 读取文件内容到学生管理系统
                StudentManage.readFile(readFilePath);
            } else {
                System.out.println("密码错误，请重新输入。");
            }
        }

        // 输出菜单
        String menuSelectResult = StudentManage.getMenu();
        while (!"5".equals(menuSelectResult)) { // 修改为 "5" 退出循环
            // 判断是增删改查哪一个
            switch (menuSelectResult) {
                case "1":
                    // 添加
                    StudentManage.addStudent();
                    break;
                case "2":
                    // 修改
                    StudentManage.editStudent();
                    break;
                case "3":
                    // 删除
                    StudentManage.delStudent();
                    break;
                case "4":
                    // 查询
                    StudentManage.queryStudent();
                    break;
                default:
                    System.out.println("输入的菜单有误，请重新输入");
            }
            menuSelectResult = StudentManage.getMenu();
        }

        // 保存学生信息到文件
        StudentManage.saveStudentsToFile(saveFilePath); // 确保传递正确的文件路径
        System.out.println("学生信息已保存到文件：" + saveFilePath);
    }
}